#include<iostream>
using namespace std;
int ans[100000]={0};

/*
n 偶数
f(n)=f((n+1)/2)+f(n/2);


*/
int f(int n)
{
	if(n<=3) return n%3==0?1:0;
	if(n%2==0) return 2*f(n/2);//ΌτΦ¦
	else  return f((n+1)/2)+f(n/2);
}
int main()
{
	int n;
	int j=0;
	while((cin>>n)&&n)
	{
		ans[j++]=f(n);
	}
	for(int i=0;i<j;i++){
        cout<<ans[i]<<"\n";
	}
	return 0;
 }
